<?php 

class Paginacion
{
	var $registrosPorPagina = 10;
	
	function getTotalPaginas($totalRegistros){
		return ceil($totalRegistros/$this->registrosPorPagina);
	}

	function setPaginaActual($totalPaginas){
		$paginaActual=0;
		
		if(isset($_GET['pagina'])){
		    // en caso que haya datos, los casteamos a int
		    $paginaActual = (int)$_GET['pagina'];
		}

		// el número de la página actual no puede ser menor a 0
		if($paginaActual < 1){
		    $paginaActual = 1;
		}
		else if($paginaActual > $totalPaginas){ // tampoco mayor la cantidad de páginas totales
		    $paginaActual = $totalPaginas;
		}

		return $paginaActual;
	}

	function setArticuloInicial($paginaActual){
		$articuloInicial = ($paginaActual - 1) * $this->registrosPorPagina;
		return $articuloInicial;
	}

	function paginar($totalRegistros,$paginaActual,$totalPaginas)
	{
		if ($totalRegistros) {
			echo "<ul class='pagination' style='margin:0'>";

			if (($paginaActual - 1) > 0) {
				echo "<li><a href='?pagina=".($paginaActual-1)."'>< Anterior</a><li>";
			} else {
				echo "<li><a>< Anterior</a><li>";
			}


			for ($i=1; $i <= $totalPaginas; $i++) { 
                if($i == $paginaActual){
                    echo "<li class='active'><a>" . $i . "</a></li>";
                }
                else if($i == 1 || $i == $totalPaginas || ($i >= $paginaActual - 2 && $i <= $paginaActual + 2)){
                    echo '<li><a href="?pagina=' . $i . '" class="pagina">' . $i . '</a><li>';
                }
            }

            if (($paginaActual + 1)<=$totalPaginas) {
				echo "<li><a href='?pagina=".($paginaActual+1)."'>Siguiente ></a></li>";
			} else {
				echo "<li><a>Siguiente ></a></li>";
			}
            echo "</ul>";
		}
	}

	function mostrarTotalResultados($articuloInicial,$totalRegistros){
		$inicio = $articuloInicial + 1;
		$fin = $articuloInicial + $this->registrosPorPagina;

		if ($fin > $totalRegistros){
			echo "<span>Mostrando " . $inicio. " a " .  $totalRegistros . " de un total de ". $totalRegistros." registros</span>";	
		}		
		else{
			echo "<span>Mostrando " . $inicio. " a " .  $fin . " de un total de ". $totalRegistros." registros</span>";
		}
	}
}

?>